package com.moyu.user.service;

import com.moyu.user.domain.permission.dto.PermissionQueryDTO;
import com.moyu.user.domain.role.dto.PermissionByRoleQueryDTO;
import com.moyu.user.domain.role.dto.RolePermissionSavaDTO;
import com.moyu.user.domain.role.vo.RoleListVO;
import com.moyu.user.domain.role.dto.RoleQueryDTO;
import com.moyu.user.domain.role.dto.RoleSaveDTO;

import java.util.List;

/**
 * 角色服务接口
 *
 * @Author 赵彦博
 * @Date 2025/3/25 18:29
 */
public interface IRoleService {

    List<RoleListVO> list(RoleQueryDTO roleQueryDTO);

    boolean deleteRole(Long roleId);

    List<PermissionQueryDTO> getRolePermissionList(PermissionByRoleQueryDTO dto);

    int addRole(RoleSaveDTO roleSaveDTO);
    
    int removeRolePermission(PermissionByRoleQueryDTO dto);

    List<PermissionQueryDTO> availablePermission(PermissionByRoleQueryDTO dto);

    int addRolePermission(RolePermissionSavaDTO rolePermissionSavaDTO);
}
